/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import { request as __request, checkJsonSchema as __checkJsonSchema } from '../../core/request';
const schemas = require("../schema").default;

export class TestEnginManagementService {

    /**
     * 添加一个引擎信息
     * @returns any Example response
     * @throws ApiError
     */
    public static async addEngine({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 引擎名称
             */
            engineName: string,
            /**
             * 引擎类型
             */
            engineType: string,
            /**
             * 集群名称
             */
            clusterName: string,
            /**
             * 虚机所支持容量
             */
            capacity: number,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
    }> {
        const result = await __request({
            method: 'POST',
            path: `/enginemanager/v1/add-engine`,
            body: requestBody,
        });

        __checkJsonSchema("addEngine", schemas, result);
        return result.body;
    }

    /**
     * 删除一个引擎信息
     * @returns any Example response
     * @throws ApiError
     */
    public static async deleteEngine({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 引擎id标识
             */
            id: number,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
    }> {
        const result = await __request({
            method: 'DELETE',
            path: `/enginemanager/v1/remove-engine`,
            body: requestBody,
        });

        __checkJsonSchema("deleteEngine", schemas, result);
        return result.body;
    }

    /**
     * 修改一个引擎信息
     * @returns any Example response
     * @throws ApiError
     */
    public static async modEngine({
        requestBody,
    }: {
        requestBody?: {
            /**
             * 引擎id标识
             */
            id: number,
            /**
             * 引擎名称
             */
            engineName?: string,
            /**
             * 引擎类型
             */
            engineType?: string,
            /**
             * 集群名称
             */
            clusterName?: string,
            /**
             * 虚机所支持容量
             */
            capacity?: number,
        },
    }): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
    }> {
        const result = await __request({
            method: 'PUT',
            path: `/enginemanager/v1/alter-engine`,
            body: requestBody,
        });

        __checkJsonSchema("modEngine", schemas, result);
        return result.body;
    }

    /**
     * Your GET endpoint
     * 查询一个引擎信息
     * @returns any OK
     * @throws ApiError
     */
    public static async getEngine(): Promise<{
        /**
         * 值为0，操作成功
         */
        optResult: number,
        /**
         * 操作失败说明
         */
        msg?: string,
        /**
         * 总记录数
         */
        totalDataCount: number,
        /**
         * 引擎列表
         */
        engines: Array<{
            /**
             * 引擎id标识
             */
            id: number,
            /**
             * 引擎名称
             */
            engineName: string,
            /**
             * 引擎类型
             */
            engineType: string,
            /**
             * 集群名称
             */
            clusterName: string,
            /**
             * 虚机所支持容量
             */
            capacity: number,
            /**
             * 创建者
             */
            create_by: string,
            /**
             * 创建时间
             */
            create_date: string,
            /**
             * 更新者
             */
            update_by: string,
            /**
             * 更新时间
             */
            update_date: string,
        }>,
    }> {
        const result = await __request({
            method: 'GET',
            path: `/enginemanager/v1/list-engine`,
        });

        __checkJsonSchema("getEngine", schemas, result);
        return result.body;
    }

}